This invention relates generally to numerical control of machines. In particular this invention relates to the creation and revision of programs for numerically controlled machines.
Numerically controlled machines generally require an input program comprising a set of machine instructions which define machine activity using elementary data definitions. The program describes machine member motion by defining location coordinate data and feed rates. Machine spindle speeds, predefined cycles of operation, and miscellaneous functions are all commanded by code words comprising a single alphabetic address and a plurality of numeric digits designating the particular speed, cycle, or function, respectively. Although standards exists defining various program words by their general function, machine controls from different vendors and different controls from the same vendor often exhibit differences in operation in response to these standardized program data. Further, program creation typically requires the use of computer aided programming systems to produce the location coordinate data required by the control. Final formatting of program data to the input required by a particular machine and control combination is performed automatically by a postprocessor which converts the motion, cycle, and function commands to the necessary form and format. The programming function is, therefore, performed on equipment which operates independently of the machine control for which the program is being generated. Any data pertaining to the machine and control combination or to tools to be resident on a particular machine must of necessity to supplied to the programming equipment from sources other than the machine control.
It has become common practice for a programmer to create the machine control program by first creating a high level language program which is then processed and postprocessed to produce the machine control program. In general, the source level program is created using a special language which is known to the programmer but which would be unfamiliar to a machine operator who is skilled at interpreting part drawings for machining operations. The source level language program is therefore usable only by the programmer working with computer based programming equipment. Revisions of the copy of the machine control program stored at the control may be made only by the relatively cumbersome facility available for program revision at the control. Revisions which are implemented in this manner leave the source level program unchanged. Consequently, machine control programs prepared from the unchanged source level program will include the same defects that have been corrected at the machine control program level. The existing programming procedures thus lead to a division of resources and skills between the programming functions and the operation of the machines. These procedures also increase the probability that a program change or correction found necessary by a machine operator will not be implemented in the source level program.
In light of the aforesaid disadvantages of currently known programming systems, it is an object of the present invention to provide an apparatus and method for creating and revising programs for numerical controls by producing a generalized data program which is readily understood by a machine operator and by producing in response thereto a machine control program in the form and format required by the specific machine and control combination.
It is a further object of the present invention to provide an apparatus and method for creating and revising numerical control programs wherein a generalized data program is first produced or revised by specifying workpiece features, machine operations, and workpiece material data as are known directly from the workpiece design data.
It is a still further object of the present invention to provide an apparatus and method for creating and revising numerical control programs which produces a generalized data program from data specified in association with graphical representation of workpiece features and machining operations.
It is a still further object of the present invention to provide an apparatus and method for producing a numerical control program by first producing a generalized data program including a material data block, workpiece feature blocks, and machine operation blocks, the various blocks defining data irrespective of specific machine and control limitations.
It is a still further object of the present invention to provide a method and apparatus for converting a generalized data program into a machine control program using predefined cycles relating machine control instructions to workpiece description data, workpiece feature data, operation data, tool data and material data.
Further objects and advantages of the present invention shall be made clear from the attached drawings and the associated description thereof.